Component({
  behaviors: [require('../common/share-behavior').default],
  properties: {
    modelUrl: String,
  },
  data: {
    loaded: false
  },
  lifetimes: {},
  methods: {
    handleReady({detail}) {
      const xrScene = this.scene = detail.value;
      console.log('xr-scene', xrScene);
      
      // 获取旋转中心节点引用，以便在需要时可以控制
      this.modelCenter = xrScene.getElementById('model-center');
    },
    handleAssetsProgress: function({detail}) {
      console.log('assets progress', detail.value);
    },
    handleAssetsLoaded: function({detail}) {
      console.log('assets loaded', detail.value);
      
      // 获取模型节点
      if (this.scene) {
        const modelNode = this.scene.getElementById('result-model');
        
        // 在模型加载完成后，可以根据模型的具体尺寸调整旋转中心位置
        // 这里我们可以尝试根据模型的包围盒来调整中心点
        // 注意：此部分代码需要XR-FRAME框架版本较新才能支持
        try {
          const xrFrameSystem = wx.getXrFrameSystem();
          if (xrFrameSystem && modelNode) {
            // 检查模型是否已经加载完成并获取包围盒
            setTimeout(() => {
              // 这里延时执行是为了确保模型已经完全加载
              // 根据实际情况调整模型位置，使旋转中心位于模型中心
              // 如：modelNode.setData({position: '0 0 0'});
              console.log('模型已加载，现在可以调整旋转中心');
            }, 500);
          }
        } catch (e) {
          console.error('调整模型旋转中心时出错:', e);
        }
      }
      
      this.setData({loaded: true});
    }
  }
}) 